package db_models

var MaxBorrow uint8 = 3

// UserInfo 所有用户账户共有的信息
type UserInfo struct {
	ID uint `json:"id"`
	// 账户
	Account string `json:"account"  binding:"required" gorm:"index:index_account,unique"`
	// 邮箱
	Email string `json:"email" binding:"required" gorm:"index:index_email,unique"`
	// 密码
	Password string `json:"password" binding:"required"`

	// 昵称
	Username string `json:"username" binding:"required"`
	// 头像
	Avatar string `json:"avatar" binding:"required"`
}

type Superuser struct {
	// embedded 嵌入
	Info UserInfo `json:"info" gorm:"embedded"`
}

type Manager struct {
	// embedded 嵌入
	Info UserInfo `json:"info" gorm:"embedded"`
}

type Worker struct {
	// embedded 嵌入
	Info UserInfo `json:"info" gorm:"embedded"`
	// worker 的状态, worker 不应该被删除
	State uint8 `json:"state" gorm:"default:1"`
}

type Borrower struct {
	// embedded 嵌入
	Info UserInfo `json:"info" gorm:"embedded"`
	// 已借的数量
	Borrowed uint8 `json:"borrowed" gorm:"default:0"`
}
